package com.mes.biz.domain;

import com.mes.common.annotation.Excel;
import com.mes.common.core.domain.BaseEntity;
import com.mes.common.utils.log.annotation.FieldRemark;
import com.mes.common.utils.log.annotation.LogField;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * 产品库存对象 biz_product_inventory
 * @author hwg
 * @email hwg
 * @date 2023-04-02
 */
@Data
public class BizProductInventory extends BaseEntity<BizProductInventory>
{
    private static final long serialVersionUID = 1L;

    @FieldRemark(name = "产品ID",field = "productId")
    private String productId;

    /** 主单位 */
    @FieldRemark(name = "主单位",field = "unit")
    private String unit;

    /** 辅助单位1 */
    @FieldRemark(name = "辅助单位1",field = "assistUnitA")
    private String assistUnitA;

    /** 辅助单位2 */
    @FieldRemark(name = "辅助单位2",field = "assistUnitB")
    private String assistUnitB;


    @FieldRemark(name = "数量",field = "number")
    private BigDecimal number;

    @FieldRemark(name = "期初数量",field = "openingNumber")
    private BigDecimal openingNumber;

    @FieldRemark(name = "辅助单位数量1",field = "assistNumberA")
    private BigDecimal assistNumberA;

    @FieldRemark(name = "辅助单位数量2",field = "assistNumberB")
    private BigDecimal assistNumberB;

    @LogField
    @FieldRemark(name = "理论成本",field = "price")
    private BigDecimal price;

    @FieldRemark(name = "理论金额",field = "amount")
    private BigDecimal amount;

    @FieldRemark(name = "租户id",field = "tenantId")
    private String tenantId;

    private String productModel;
    private String productColor;
    private BigDecimal warnStock;
    private String warehouseName;

    /** 仓位 */
    @Excel(name = "仓位")
    private String spaceId;

    private String spaceName;

    /** 默认仓库 */
    @Excel(name = "默认仓库")
    private String warehouseId;

    private String brand;

    private String spec;

    private String productCode;

    private String mnemonicCode;

    private String categoryId;

    private Integer numbers;

    private BigDecimal newPrice;

    private String categoryName;

    private String condition;

    private String unitA;
    private String unitB;
    private String unitC;

    private String numFlag;
}
